package com.szewec.fsd.api.[[module]].feign;

import com.szewec.fsd.api.[[module]].vo.[[entity.name]]DtoVo;
import com.szewec.fsd.api.[[module]].entity.[[entity.name]];
import com.szewec.fsd.common.core.model.R;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * [[entity.comment]]FeignClientService接口
 * @version 1.0
 * @author: [[authorInfo.author]]
 * @date: [[authorInfo.timestamp]]
 */
@FeignClient(name = "${namespace.feign:}-[[module]]-service", contextId = "[[entity.beanName]]Feign")
@RequestMapping("/[[module]]/[[entity.beanName]]")
public interface [[entity.name]]Feign {
	

	/**
     * [[entity.comment]]列表数据
     * @param [[entity.beanName]]DtoVo
     * @return
     */
    @PostMapping("/list")
    public R<List<[[entity.name]]>> list(@RequestBody [[entity.name]]DtoVo [[entity.beanName]]DtoVo);

    /**
     * [[entity.comment]]增加
     * @param [[entity.beanName]]DtoVo
     * @return
     */
    @PostMapping("/insert")
    public R<Boolean> insert(@RequestBody [[entity.name]]DtoVo [[entity.beanName]]DtoVo);

    /**
     * [[entity.comment]]修改
     * @param [[entity.beanName]]DtoVo
     * @return
     */
    @PostMapping("/update")
    public R<Boolean> update(@RequestBody [[entity.name]]DtoVo [[entity.beanName]]DtoVo);

    /**
     * [[entity.comment]]删除
     * @param id
     * @return
     */
    @PostMapping("/delete")
    public R<Boolean>  delete(@RequestParam("id") Long id);

    /**
     * [[entity.comment]]详细信息
     * @param id
     * @return
     */
    @GetMapping("/detail")
    public R<[[entity.name]]> detail(@RequestParam("id") Long id);
}
